<template>
  <div></div>
</template>

<script>
/*
  错误处理：请求错误时进行的处理
**/
import axios from 'axios'
export default {
  name: 'axios6',
  created () {
    axios.interceptors.request.use(
      config => {
        return config
      },
      err => {
        return Promise.reject(err);
      }
    );

    axios.interceptors.response.use(
      res => {
        return res
      },
      err => {
        return Promise.reject(err);
      }
    );

    axios.get('/data.json').then(res => {
      console.log(res)
    }).catch(err => {
      console.log(err)
    });

    //  示例 实际开发过程中，一般添加统一错误处理
    let instance = axios.create({});
    instance.interceptors.request(
      config => {
        return config
      },
      err => {
        //  请求错误  一般http状态码以4开头 ，常见为401超时，404notfound
        return Promise.reject(err)
      }
    );

    instance.interceptors.response(
      res => {
        return res
      },
      err => {
        //  响应错误处理  一般http状态码以5开头，500为系统错误，502为系统重启
        return Promise.reject(err)
      }
    );

    instance.get('/data.json').then(res => {
      console.log(res)
    }).catch(err => {
      console.log(err)
    });
  }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
</style>
